package club.easin.utils;

import org.apache.commons.beanutils.BeanUtils;

import java.text.SimpleDateFormat;
import java.util.Map;

public class Commutils {

    public static volatile int Guid=100;
    /**
     * 将对象转换为map对象
     */
    public static Map<String,Object> beanToMap(Object obj){
        try {
            return BeanUtils.describe(obj);
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
    }
    public static String buildId(){
        Commutils.Guid+=1;
        long now = System.currentTimeMillis();
        //获取4位年份数字
        SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy");
        //获取时间戳

        String time=dateFormat.format(now);

        String info=now+"";

        //获取三位随机数

        //int ran=(int) ((Math.random()*9+1)*100);

        //要是一段时间内的数据连过大会有重复的情况，所以做以下修改

        int ran=0;

        if(Commutils.Guid>999){

            Commutils.Guid=100;

        }
        ran= Commutils.Guid;
        return "pow"+time+info.substring(2, info.length())+ran;

    }

    /**
     * 字符串加密
     * @param edcodString
     * @return
     */
    public static String encod(String edcodString){
        if(CheckUtils.isNull(edcodString)) return null;
        String enString=null;
        try {
            enString= Base64.encode(edcodString.getBytes());
        }catch (Exception e){
            e.printStackTrace();
        }

        return enString;
    }

    /**
     * 字符串解密
     */
    public static String dencod(String enString){
        if(CheckUtils.isNull(enString)) return null;
        String denString=null;
        try {
            denString=new String(Base64.decode(enString));
        }catch (Exception e){
            e.printStackTrace();
        }
        return denString;
    }

   /* public static void main(String[] args) {
        for (int i=0;i<1000;i++){
            System.out.println(buildId());
        }
    }*/
 }



